// license-header java merge-point
/**
 * This is only generated once! It will never be overwritten.
 * You can (and have to!) safely modify it by hand.
 */
package com.orange.domain;
/**
 * @see com.orange.domain.Department
 */
public class DepartmentDaoImpl
    extends com.orange.domain.DepartmentDaoBase
{
    /**
     * @see com.orange.domain.DepartmentDao#toDepartmentValue(com.orange.domain.Department, com.orange.domain.DepartmentValue)
     */
    public void toDepartmentValue(
        com.orange.domain.Department source,
        com.orange.domain.DepartmentValue target)
    {
        // @todo verify behavior of toDepartmentValue
        super.toDepartmentValue(source, target);
    }


    /**
     * @see com.orange.domain.DepartmentDao#toDepartmentValue(com.orange.domain.Department)
     */
    public com.orange.domain.DepartmentValue toDepartmentValue(final com.orange.domain.Department entity)
    {
        // @todo verify behavior of toDepartmentValue
        return super.toDepartmentValue(entity);
    }


    /**
     * Retrieves the entity object that is associated with the specified value object
     * from the object store. If no such entity object exists in the object store,
     * a new, blank entity is created
     */
    private com.orange.domain.Department loadDepartmentFromDepartmentValue(com.orange.domain.DepartmentValue departmentValue)
    {
        // @todo implement loadDepartmentFromDepartmentValue
        throw new java.lang.UnsupportedOperationException("com.orange.domain.loadDepartmentFromDepartmentValue(com.orange.domain.DepartmentValue) not yet implemented.");

        /* A typical implementation looks like this:
        com.orange.domain.Department department = this.load(departmentValue.getId());
        if (department == null)
        {
            department = com.orange.domain.Department.Factory.newInstance();
        }
        return department;
        */
    }

    
    /**
     * @see com.orange.domain.DepartmentDao#departmentValueToEntity(com.orange.domain.DepartmentValue)
     */
    public com.orange.domain.Department departmentValueToEntity(com.orange.domain.DepartmentValue departmentValue)
    {
        // @todo verify behavior of departmentValueToEntity
        com.orange.domain.Department entity = this.loadDepartmentFromDepartmentValue(departmentValue);
        this.departmentValueToEntity(departmentValue, entity, true);
        return entity;
    }


    /**
     * @see com.orange.domain.DepartmentDao#departmentValueToEntity(com.orange.domain.DepartmentValue, com.orange.domain.Department)
     */
    public void departmentValueToEntity(
        com.orange.domain.DepartmentValue source,
        com.orange.domain.Department target,
        boolean copyIfNull)
    {
        // @todo verify behavior of departmentValueToEntity
        super.departmentValueToEntity(source, target, copyIfNull);
    }

}